package paqv_vista;

import com.sun.rowset.CachedRowSetImpl;
import paq_clase_interfaz.interfaz_programa_postgrado;
import paq_entidades.entiv_mo_as_uni;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.ejb.EJB;
import javax.faces.model.SelectItem;
import java.text.ParseException;
import paq_clase_interfaz.interfaz_asignatura;
import paq_clase_interfaz.interfaz_modulo;
import paq_clase_interfaz.interfaz_tipoinformacion;
import paq_entidades.entiv_variables;

@ManagedBean()
@SessionScoped
public class Vista_asignatura extends Vista_campostxt {
public CachedRowSetImpl crs4 = null;
    @EJB
    private interfaz_asignatura eliminar;
    @EJB
    private interfaz_asignatura insertar;
    @EJB
    private interfaz_asignatura actualizar;
    @EJB
    private interfaz_asignatura listaactualizada;
    @EJB
    private interfaz_modulo combomodulo;
    @EJB
    private interfaz_programa_postgrado comboprograma;
    @EJB
    private interfaz_tipoinformacion combotipo;
    
    entiv_mo_as_uni entidad = new entiv_mo_as_uni();
    public List listaprograma2 = new ArrayList();
    public List listamodulo = new ArrayList();
    public List listatipo = new ArrayList();
    entiv_variables v = new entiv_variables();

    public void insertar() {
        if ("".equals(txtnombresmod) || "".equals(txtdescripcion) || "".equals(txtcodigomod)) {
            mensaje = "Se requieren datos";
        } else {
            insertar.insertar(txtnombresmod, txtcreditos, txtdescripcion, txtcodigomod);
            mensaje = "ok";
            limpiar();
        }
    }

    public void eliminar() {
        entidad = (entiv_mo_as_uni) tabla.getRowData();
        this.txtcodigoasignatura = entidad.getCodigo();
        eliminar.eliminar(txtcodigoasignatura);
        mensaje = "ok";
        limpiar();
    }

    public void modificar() {
        actualizar.actualizar(txtcodigoasignatura, txtnombresmod, txtcreditos, txtdescripcion, txtcodigomod);
        limpiar();
    }

   
    public ArrayList<entiv_mo_as_uni> getLista2() {

        ArrayList listae = new ArrayList();
         crs4  = listaactualizada.getListaactualizada(txtcodigomod);
        try {
            entiv_mo_as_uni objart;
            while ( crs4 .next()) {
                objart = new entiv_mo_as_uni();
                objart.setCodigo( crs4 .getString("asig_codigo"));
                objart.setNombre( crs4 .getString("asig_nombre"));
                objart.setCreditos( crs4 .getInt("asig_numerocreditos"));
                objart.setTipo( crs4 .getString("ti_codigo"));
                objart.setPp_codigo( crs4 .getString("mod_codigo"));
                listae.add(objart);
            }
        } catch (Exception e) {
            javax.swing.JOptionPane.showMessageDialog(null,
                    e.getMessage());
        }
      
        return listae;

    }

    public void seleccionLista() throws ParseException {
        entidad = (entiv_mo_as_uni) tabla.getRowData();
        this.txtcodigoasignatura = entidad.getCodigo();
        this.txtnombresmod = entidad.getNombre();
        this.txtdescripcion = entidad.getTipo();
        this.txtcreditos = entidad.getCreditos();
        this.txtcodigomod = entidad.getPp_codigo();


    }

    public void limpiar() {
        txtnombresmod = "";
        txtcreditos = null;
        txtdescripcion = "";
    }

    public List getListaprograma() {
        listaprograma2.clear();
        try {
          v.crs2 = comboprograma.getcomboprograma();
            while (v.crs2.next()) {
                listaprograma2.add(new SelectItem( v.crs2.getString("pp_codigo"),  v.crs2.getString("pp_nombre")));
            }
             v.crs2.close();
        } catch (SQLException ex) {
           
        }
        return listaprograma2;
    }

    public List getListamodulo() {
        listamodulo.clear();
        try {
             v.crs3 = combomodulo.getListaactuaaliza(txtcodigo_programa);
            while (v.crs3.next()) {
                listamodulo.add(new SelectItem(v.crs3.getString("mod_codigo"), v.crs3.getString("mod_nombre")));
            }
            v.crs3.close();
        } catch (SQLException ex) {
        }
        return listamodulo;

    }
     public List getListatipo() {
        listatipo.clear();
        try {
          v.crs1 = combotipo.getListacomboinformacion();
            while (v.crs1.next()) {
                listatipo.add(new SelectItem( v.crs1.getString("ti_codigo"),  v.crs1.getString("ti_descripcion")));
            }
             v.crs1.close();
        } catch (SQLException ex) {
           
        }
        return listatipo;
    }

    public String devolver() {
       
        return txtcodigo_programa;
    }

    public String devolver2() {

        return txtcodigomod;
    }
}
